prosim pomozte s mysql

Otázka od: Lahoda Radek

11. 11. 2004 19:33

zdravim,
nejak me to uz nemysli, potrebuju vytahnout ze 2 tabulek data..

SELECT clanky.ID,NAZEV,AUTOR, cl_hit.HIT
 FROM clanky, cl_hit
 WHERE VEREJNY='Ano' AND EXIST (SELECT ID FROM cl_hit )
 ORDER BY clanky.DATUM Desc
 LIMIT 5

jak to sql, aby z tabulky clanky nacetl vsechny
a z tab cl_hit pole HIT jen tech co se rovnaji id=id (obe tab jsou podle id
indexovane, pro jistotu), jinak aby HIT byl 0

cl_hit obsahuje jen zaznamy, kde HIT >0

napr.
clanky:
id nazev
1 ahoj
2 cau
3 nazdar

cl_hit:
id hit
2 1

chci vysledek:
id nazev ... hit
1 ahoj 0
2 cau 1
3 nazdar 0

diky za nakopnuti
R.Lahoda


Odpovedá: jharman@volny.cz

12. 11. 2004 9:21

> SELECT clanky.ID,NAZEV,AUTOR, cl_hit.HIT
> FROM clanky, cl_hit
> WHERE VEREJNY='Ano' AND EXIST (SELECT ID FROM cl_hit )
> ORDER BY clanky.DATUM Desc
> LIMIT 5
>
> jak to sql, aby z tabulky clanky nacetl vsechny
> a z tab cl_hit pole HIT jen tech co se rovnaji id=id (obe tab
> jsou podle id
> indexovane, pro jistotu), jinak aby HIT byl 0
>
> cl_hit obsahuje jen zaznamy, kde HIT >0

SELECT clanky.DATUM, clanky.ID,NAZEV,AUTOR, cl_hit.HIT
FROM clanky
left join cl_hit on (cl_hit.id = clanky.id)
WHERE VEREJNY='Ano'
ORDER BY clanky.DATUM Desc
LIMIT 5

Zkus toto. Snad by to mohlo fungovat.
Honza

--
A za kolik kupujete ELEKTRO Vy?
http://www.MALL.cz/penezenka
Overte si pres SMS, kolik se da USETRIT!


Odpovedá: Lahoda Radek

15. 11. 2004 9:23

diky, funguje

----- Puvodni zprava -----
Od: <jharman@volny.cz>
Komu: <delphi-l@clexpert.cz>
Odeslano: 12. listopadu 2004 9:21
Predmet: Re: prosim pomozte s mysql


> SELECT clanky.DATUM, clanky.ID,NAZEV,AUTOR, cl_hit.HIT
> FROM clanky
> left join cl_hit on (cl_hit.id = clanky.id)
> WHERE VEREJNY='Ano'
> ORDER BY clanky.DATUM Desc
> LIMIT 5
>
> Zkus toto. Snad by to mohlo fungovat.
> Honza